package tests;

import junit.framework.TestCase;
import modele.analyselinguistique.AnalyseurLinguistique;
import modele.analyselinguistique.FabriqueTypeAnalyse;
import modele.articles.Article;
import modele.articles.Element;
import modele.articles.Mot;
import modele.modelesdelangage.FabriqueModeleDeLangage;
import modele.modelesdelangage.ModeleDeLangage;

public class TestAnalyseComplete extends TestCase 
{
	public void testProbabilites()
	{
		Article article = Article.getInstance();
		ModeleDeLangage mdl = FabriqueModeleDeLangage.creerModeleDeLangage("data/ML_3-gram_JEP-2002-2004-2008.arpa", "data/ML_3-gram_JEP-2002-2004-2008.lex");
		
		AnalyseurLinguistique anlg = new AnalyseurLinguistique();
		
//		article.ajouter("le cercle dont le centre est nul", 0);
		article.ajouter("le centre dont", 0);
		
		anlg.setModeleDeLangage(mdl);
		anlg.setTypeAnalyse(FabriqueTypeAnalyse.getAnalyseComplete());
		anlg.analyser(article);
		
		// TODO: Ajouter les asserts
		
		Element racine = article.getElementRacine();
				
		while (racine != null)
		{
			if (racine instanceof Mot) 
			{
				System.out.println(racine.getValeur() + " " + ((Mot)racine).getProbabilite());
			}
			
			racine = racine.getElementSuivant();
		}
	}
}
